package com.jhd.fuzhou.util;

import android.content.Context;
import android.view.View;
import android.widget.TextView;

import com.bigkoo.pickerview.TimePickerView;
import com.jhd.fuzhou.R;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import static com.jhd.fuzhou.view.login.MainActivity.supervisionInspectionVo;

public class TimeUtil {
    /*获取时间*/
    public static void getTimeDialog(Context context,View view) {

        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime(date);
                ((TextView) view).setText(start);
                EditTextView.TextViewChange((TextView) view,context);
            }
        }).setType(new boolean[]{true, true, true, true, true, true})
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }
    public static String getTime(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        return format.format(date);
    }
    public static String getTime2(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return format.format(date);
    }
    public static String getTime3(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    }
    public static void getTimeDialog(int i,TextView view,Context context) {

        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime(date);
                view.setText(start);
                EditTextView.TextViewChange(view,context);
                if(i==1){
                    supervisionInspectionVo.setInspectStartTime(view.getText().toString());
                }else{
                    supervisionInspectionVo.setInspectEndTime(view.getText().toString());
                }
            }
        }).setType(new boolean[]{true, true, true, true, true, false})
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }


    public static void getTimeDialog5(TextView view,Context context) {

        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime3(date);
                view.setText(start);
                EditTextView.TextViewChange(view,context);
            }
        }).setType(new boolean[]{true, true, true, true, true, true})
                .isDialog(true)
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }
    public static void getTimeDialog3(TextView view,Context context) {

        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime2(date);
                view.setText(start);
                EditTextView.TextViewChange(view,context);
            }
        }).setType(new boolean[]{true, true, true, false, false, false})
                .isDialog(true)
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }
    public static void getTimeDialog(TextView view,Context context) {
        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime(date);
                view.setText(start);
                EditTextView.TextViewChange(view,context);
            }
        }).setType(new boolean[]{true, true, true, true, true, false})
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }
    public static void getTimeDialog4(TextView view,Context context) {
        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
                String start = getTime(date);
                view.setText(start);
                EditTextView.TextViewChange(view,context);
            }
        }).setType(new boolean[]{true, true, true, true, true, false})
                .isDialog(true)
                .setCancelColor(context.getResources().getColor(R.color.colorCyan300))
                .setSubmitColor(context.getResources().getColor(R.color.colorCyan500)).build();
        //注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();
    }
}
